diff options
Diffstat (limited to 'app/[lng]/evcp/(evcp)/items/page.tsx')
| -rw-r--r-- | app/[lng]/evcp/(evcp)/items/page.tsx | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/app/[lng]/evcp/(evcp)/items/page.tsx b/app/[lng]/evcp/(evcp)/items/page.tsx index 31dcaf11..0c44bf0a 100644 --- a/app/[lng]/evcp/(evcp)/items/page.tsx +++ b/app/[lng]/evcp/(evcp)/items/page.tsx @@ -8,6 +8,7 @@ import { Shell } from "@/components/shell" import { searchParamsCache } from "@/lib/items/validations" import { getItems } from "@/lib/items/service" import { ItemsTable } from "@/lib/items/table/items-table" +import { ViewModeToggle } from "@/components/data-table/view-mode-toggle" interface IndexPageProps { searchParams: Promise<SearchParams> @@ -19,43 +20,35 @@ export default async function IndexPage(props: IndexPageProps) { // pageSize 기반으로 모드 자동 결정 const isInfiniteMode = search.perPage >= 1_000_000 - - console.log('Page searchParams:', searchParams) - console.log('Parsed search:', search) - console.log('isInfiniteMode (pageSize >= 1M):', isInfiniteMode) - + // 페이지네이션 모드일 때만 서버에서 데이터 가져오기 // 무한 스크롤 모드에서는 클라이언트에서 SWR로 데이터 로드 - const promises = isInfiniteMode - ? null - : Promise.all([ + const promises = isInfiniteMode + ? undefined + : Promise.all([ getItems(search), // searchParamsCache의 결과를 그대로 사용 ]) - + return ( <Shell className="gap-2"> <div className="flex items-center justify-between space-y-2"> <div className="flex items-center justify-between space-y-2"> <div> <h2 className="text-2xl font-bold tracking-tight"> - Package Items + 패키지 정보 </h2> <p className="text-muted-foreground"> - {/* Item을 등록하고 관리할 수 있습니다. */} - {isInfiniteMode && ( - <span className="ml-2 text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded"> - 무한 스크롤 모드 - </span> - )} + S-EDP로부터 수신된 패키지 정보이며 PR 전 입찰, 견적에 사용되며 벤더 데이터, 문서와 연결됩니다. </p> </div> </div> + </div> - + <React.Suspense fallback={<Skeleton className="h-7 w-52" />}> {/* DateRangePicker 등 추가 컴포넌트 */} </React.Suspense> - + <React.Suspense fallback={ <DataTableSkeleton |
